/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package sv.com.intesal.compra.controlador;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.List;
import sv.com.intesal.clases.Mensaje;
import sv.com.intesal.compra.bean.Sucursal;
import sv.com.intesal.compra.sql.SQLSucursal;
import sv.com.intesal.conexion.cConexion;
import sv.com.intesal.seguridad.controlador.ParametroFacturacionControlador;

/**
 *
 * @author JM
 */
public class SucursalControlador {

    public void mantenimientoSucursal(Sucursal s) throws Exception {

        try {
            PreparedStatement ps;
            if (s.getCodigo_s() == null) {
                ps = cConexion.conectar().prepareStatement(SQLSucursal.insertSucursal);

            } else {
                ps = cConexion.conectar().prepareStatement(SQLSucursal.updateSucursal);
                ps.setInt(4, s.getCodigo_s());
            }
            ps.setString(1, s.getNombre_s());
            ps.setString(2, s.getDireccion_s());
            ps.setString(3, s.getFax_s());
            ps.executeUpdate();
            ps.close();

            Mensaje m = new Mensaje();
            if (s.getCodigo_s() == null) {
                m.messageInfo(m.getIinformation());
//                ParametroFacturacionControlador pf = new ParametroFacturacionControlador();
//                pf.setParametrosInicialesSucursal();
            } else {
                m.messageInfo(m.getImodificada());
            }

        } catch (Exception e) {
            throw new Exception(e);
        }
    }

    public List<Sucursal> getAllSucursales() throws Exception {
        List<Sucursal> todasSucursales = new ArrayList<Sucursal>();
        ResultSet rs = null;
        try {
            rs = cConexion.conectar().createStatement().executeQuery(SQLSucursal.All);
            while (rs.next()) {
                Sucursal b = new Sucursal();
                b.setCodigo_s(rs.getInt("codigo_s"));
                b.setNombre_s(rs.getString("nombre_s"));
                b.setDireccion_s(rs.getString("direccion_s"));
                b.setFax_s(rs.getString("fax_s"));

                todasSucursales.add(b);
            }
            return todasSucursales;
        } catch (Exception e) {
            throw new Exception(e);
        } finally {
            if (rs != null) {
                rs.close();
            }
        }

    }
}
